home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / lib / mathlib / libblas / src_original / srotg.f < prev    next >
Encoding:
Text File  |  1994-08-02  |  885 b   |  39 lines

  1.       SUBROUTINE SROTG( SA, SB, C, S )
  2. *
  3. *     construct givens plane rotation.
  4. *     jack dongarra, linpack, 3/11/78.
  5. *                    modified 9/27/86.
  6. *
  7. *     .. Scalar Arguments ..
  8.       REAL              C, S, SA, SB
  9. *     ..
  10. *     .. Local Scalars ..
  11.       REAL              R, ROE, SCALE, Z
  12. *     ..
  13. *     .. Intrinsic Functions ..
  14.       INTRINSIC         ABS, SIGN, SQRT
  15. *     ..
  16. *     .. Executable Statements ..
  17. *
  18.       ROE = SB
  19.       IF( ABS( SA ).GT.ABS( SB ) )
  20.      $   ROE = SA
  21.       SCALE = ABS( SA ) + ABS( SB )
  22.       IF( SCALE.NE.0.0 )
  23.      $   GO TO 10
  24.       C = 1.0
  25.       S = 0.0
  26.       R = 0.0
  27.       GO TO 20
  28.    10 R = SCALE*SQRT( ( SA / SCALE )**2+( SB / SCALE )**2 )
  29.       R = SIGN( 1.0, ROE )*R
  30.       C = SA / R
  31.       S = SB / R
  32.    20 Z = S
  33.       IF( ABS( C ).GT.0.0 .AND. ABS( C ).LE.S )
  34.      $   Z = 1.0 / C
  35.       SA = R
  36.       SB = Z
  37.       RETURN
  38.       END
  39.